import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**Clase Derivada de el servidor utilizada para leer mensajes del cliente
 * , frenar el actual hilo de lectura, o cerrar el servidor.
 * @author Francisco
 *
 */
public class ServerRead extends Thread {
	ServerSocket ss;
	Socket cliente;
	Monitor monitor;

	public ServerRead(ServerSocket ss, Socket cliente, Monitor monitor) {
		this.ss = ss;
		this.cliente = cliente;
		this.monitor = monitor;
	}

	 @Override
	public void run() {
		 try
			{
				BufferedReader entradaDesdeElCliente = new BufferedReader(
						new InputStreamReader(cliente.getInputStream()));
				String mensaje = "";
				do {
					mensaje = entradaDesdeElCliente.readLine();
					if (mensaje.equalsIgnoreCase("fin")) {
						monitor.setEscribir(false);
						cliente.close();
					}else if(mensaje.equalsIgnoreCase("cerrarservidor")){
						monitor.setCerrarServidor("cerrar");
						monitor.setEscribir(false);
						cliente.close();
					}else{
						System.out.println(mensaje);
					}
				} while (!mensaje.equalsIgnoreCase("fin") && !mensaje.equalsIgnoreCase("cerrarservidor") );
				entradaDesdeElCliente.close();
				monitor.setCanRead(true);
				
			} catch (IOException e) {
				e.printStackTrace();
			}
	}
		

	
}
